"""

"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib 
import mpl_toolkits.axisartist as axisartist
print(matplotlib.__version__) # 确定当前使用的版本号

fig = plt.figure()
ax = axisartist.Subplot(fig, 111)
fig.add_axes(ax)
# 通过set_visible方法设置绘图区所有坐标轴隐藏
ax.axis[:].set_visible(False)

# ax.new_floating_axis代表添加新的坐标轴
ax.axis["x"] = ax.new_floating_axis(0, 0)
# 给x坐标轴加上箭头
ax.axis["x"].set_axisline_style("->", size = 1.0)
ax.axis["x"].set_axis_direction("bottom") # 坐标标签的方向
# ax.axis["x"].toggle(ticklabels=True)
# ax.axis["x"].major_ticklabels.set_pad(10) 

# 在添加另一个水平坐标轴
ax.axis['x2'] = ax.new_floating_axis(0, 3) # 第一个参数代表水平轴[0]，垂直轴[1]，第二个参数代表坐标
ax.axis["x2"].set_axisline_style("->", size = 1.0)
ax.axis["x2"].set_axis_direction("bottom")
ax.axis["x2"].major_ticklabels.set_color("r")
# ax.axis["x2"].major_ticklabels.set_visible(False)

# 添加y坐标轴，且加上箭头
ax.axis["y"] = ax.new_floating_axis(1, 0)
ax.axis["y"].set_axisline_style("-|>", size = 1.0)
ax.axis["y"].set_axis_direction("right")

# 画图曲线
x = np.arange(-np.pi, np.pi, 0.5)
y = np.sin(x)
y2 = np.cos(x) + 4.0

ax.set_xticks(np.arange(-4, 4, 1.0)) # 对多个坐标轴同时生效
# 参数：杆线型，点形状，杆所在的水平线，水平线线型，可以在fmt中带有颜色设置
ax.stem(x, y, linefmt='m-', markerfmt='C0o', bottom=0, basefmt='--')
ax.stem(x, y2, linefmt='c-', markerfmt='C3o', bottom=3, basefmt='--')

ax.grid(True, linestyle='-.', color='gray', lw=1)

plt.show()
